Pianobar is a free/open source unofficial Pandora radio client. Pandora Internet Radio (Pandora) is a music streaming service operated by Music Genome Project. A Pandora station is set based on song or artist. The user’s can give feedback for the songs. According to these feedbacks, the Pandora will select the future songs. It offers to buy the songs from online retailers. The Pandora service has two subscription such as free based subscription supported ads and free based subscription without supported ads. There are advertisements in between every couple of songs. It has favorable and unfavorable buttons. The track is played according to this result. The play of track will immediately stop when an unfavorable response occurs. Continuous clicks to next songs will result into a short ban of skip. Pandora allows to temporarily block the song, move to next station, and buy song from stores etc. Pandora is available on iOS, Android OS.
Pianobar is an open source command line application. It is easy to set up with a proxy. Pianobar helps to listen Pandora from anywhere in the world. It will remove the advertisements from Pandora. It is has a flash-free Pandora Player inside the terminal. Open it and login with username and password. Then select the station you want to listen. Also. it is possible to create new station, view song history, etc. by using simple terminal commandsin Pianobar.
Materials Required For Pianobar
The OS image is downloaded from the website and installed into the SD card. There are different types of OS versions for Raspberry Pi. Raspbian “Wheezy” is one of them. After installing into the SD card, it is plug into the SD card reader of Raspberry Pi. The power of the device must be turned ON. Alll the devices must be plugged in before turn on the power such as keyboard, Wi-Fi adapter etc.
Raspbian configuration will be displayed for the first boot. The OS image is resized to fill the SD card. Then the complete space of SD card will be usable. The time zone can be changed. The SSH server must be enabled. It enables to control the pianobar using laptop or mobile devices using SSH. Turn off boot to desktop. Do not restart or update the Raspberry Pi at this time. The configuration setup can do at any time using the following command.
sudo raspi-config
Using the following command, it is possible to navigate the network interfaces.
>> sudo nano -w /etc/network/interfaces
All the text must be erased and change into following commands.
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
auto wlan0iface wlan0 inet dhcp
wpa-ssid "ssid"
wpa-psk "password"
The wpa-ssid value is changed into name of wireless network. The wpa-psk value is changed into personal wireless network. It must be inside double quotes.
Shutdown the Raspberry Pi.
>> sudo shutdown -h now
Unplug the power supply. After 30 seconds powercord is plugged back to the system.
Get an IP address to Raspberry Pi by using following commands.
ifconfig
Upgrade the system using following command.
sudo apt-get update
Pianobar is installed in Ubuntu etc using the following command.
sudo apt-get install pianobar
If want to continue, y for yes and hit enter. After install, the installer will run automatically. After installation the next step is configuration.
To configure, a “config” directory can be created for pianobar by using following command.
mkdir -p .config/pianobar
It can be navigated into new directory.
cd ~/.config/pianobar
Create configuration file for Pianobar which is located at $XDG_CONFIG_HOME/pianobar/config or ~/.config/pianobar/config
$ man pianobar
Configuration consists of key, value lines. Each line terminated with newline character (\n). The keys and values are case sensitive. Each side of equal line, provide exactly one space. To login automatically and select station which can setup in configuration file. An example for configuration file for pianobar is given follows.
$ ~/.config/pianobar/config
Audio = {high,medium,low}
Autostart_station = stationid
password= password
user = your@user.name
Proxy (which is used outside USA)
control_proxy = http://127.0.0.1:9090/
Keybindings act_help = ? act_songlove = + act_songban = - act_stationaddmusic = a act_stationcreate = c act_stationdelete = d act_songexplain = e act_stationaddbygenre = g act_songinfo = i act_addshared = j act_songmove = m act_songnext = n act_songpause = p act_quit = q act_stationrename = r act_stationchange = s act_songtired = t act_upcoming = u act_stationselectquickmix = x act_voldown = (act_volup =)
Misc mp3, mp3-hifi or aacplus audio_format = mp3 autostart_station = 123456 event_command = /home/user/.config/pianobar/eventcmd fifo = /tmp/pianobar sort = quickmix_10_name_az love_icon = [+] ban_icon = [-] volume = 0
Format strings format_nowplaying_song = %t by %a on %l%r%@%s format_nowplaying_station = Station %n format_list_song = %i) %a - %t%r high-quality audio (192k mp3, for Pandora One subscribers only!) audio_quality = high rpc_host = internal-tuner.pandora.com partner_user = pandora one partner_password = TVCKIBGS9AO9TSYLNNFUML0743LH82D device = D01 encrypt_password = 2%3WCL*JU$MP]4 decrypt_password = U#IO$RZPAB%VX2 tls_fingerprint = B0A1EB460B1B6F33A1B6CB500C6523CB2E6EC946
After configuration settings, restart the pianobar from terminal. Then automatically log into Pandora and select the station to play. An 18 letter number will appear in paranthesis. This number is copied to configuration file under autostart station. Then the pianonar will automatically play the selected station. To increase the volume click shift+0 and to decrease the volume, click shift+9.
An SSH is download to the devices to remotely control the pianobar. It is used to connect several devices and also can preconfigure settings for connected quickly.
To control the keyboard, use the following commands.
act_help =?
act_songlove = +
act_songban = -
act_stationaddmusic = a
act_bookmark = b
act_stationcreate = c
act_stationdelete = d
act_songexplain = e
act_stationaddbygenre = g
act_history = h
act_songinfo = i
act_addshared = j
act_songmove = m
act_songnext = n
act_songpause = p
act_quit = q
act_stationrename = r
act_stationchange = s
act_songtired = t
act_upcoming = u
act_stationselectquickmix = x
audio_format = {aacplus, mp3,mp3-hifi}
autostart_station = stationid
control_proxy = http://host:port/
event_command = path
history = 5
password = plaintext_password
proxy = http://host:port/
sort = {name_az, name_za, quickmix_01_name_az, quickmix_01_name_za,
quickmix_10_name_az, quickmix_10_name_za}
user = your@user.name
sort = {name_az, name_za, quickmix_01_name_az, quickmix_01_name_za,
quickmix_10_name_az, quickmix_10_name_za}
user = your@user.name
While running any sound or quality issue occurs and currently using ALSA (Advanced Sound Linux Architecture) as sound driver, then it can be fixed using following methods. ALSA provides driven sound card drivers which replaces original Open Sound System (OSS).
# /etc/libao.conf
default_driver=oss
$ aoss pianobar
It is possible to use pulse audio alternatively.
# /etc/libao.conf default_driver=pulse These fixes may affect other application which use audio as default driver is changed.